Add API for restricting operations for sensitive files#2597
Add API for restricting operations for sensitive files#2597iloveeclipse merged 1 commit intoeclipse-platform:masterfrom
Conversation
7c9b138 to
6aaeb1d
Compare
|
@merks if you can help with the API documentation wording, that would be great! |
...org.eclipse.core.resources/src/org/eclipse/core/internal/resources/WorkspaceDescription.java
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Outdated
Show resolved
Hide resolved
FYI. I’m on vacation mostly monitoring from my iPhone with slow internet. Ping me when you think it’s done and I can look at it on my computer later. |
6aaeb1d to
fa30d36
Compare
...org.eclipse.core.resources/src/org/eclipse/core/internal/resources/WorkspaceDescription.java
Outdated
Show resolved
Hide resolved
iloveeclipse
left a comment
There was a problem hiding this comment.
LGTM for me, just white space change on WorkspaceDescription should be reverted.
There was a problem hiding this comment.
Pull request overview
Adds a new session-scoped API in org.eclipse.core.resources to mark files as “restricted/sensitive” and to globally enable/disable restricted-content handling at the workspace level, intended to let downstream IDEs disable content-related operations for those files.
Changes:
- Add
IWorkspace.isRestrictedContentEnabled()/setRestrictedContentEnabled(boolean)workspace toggle. - Add
IFile.isContentRestricted()/setContentRestricted(boolean)backed by a session property (RESTRICTED_CONTENT). - Implement the workspace toggle in internal
Workspaceand bump bundle version.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IWorkspace.java | Adds new workspace-level restricted-content enablement API + Javadoc. |
| resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java | Adds session-property key and default methods for per-file restricted-content marking. |
| resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/Workspace.java | Implements the new IWorkspace API via an internal boolean flag. |
| resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/WorkspaceDescription.java | Whitespace-only change. |
| resources/bundles/org.eclipse.core.resources/META-INF/MANIFEST.MF | Bumps bundle version to 3.24.0.qualifier. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Outdated
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Outdated
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IWorkspace.java
Outdated
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IWorkspace.java
Outdated
Show resolved
Hide resolved
...es/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/Workspace.java
Outdated
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Show resolved
Hide resolved
e8b9816 to
9c81084
Compare
....core.tests.resources/src/org/eclipse/core/tests/internal/resources/RestrictedFileTests.java
Outdated
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Outdated
Show resolved
Hide resolved
9c81084 to
34da22a
Compare
laeubi
left a comment
There was a problem hiding this comment.
See comments below, I think the API exposure can be reduced a bit.
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IWorkspace.java
Outdated
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Outdated
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Show resolved
Hide resolved
fcf3236 to
f216b6c
Compare
8aa8740 to
1771aa1
Compare
584c8e3 to
1e2f103
Compare
|
@laeubi : anything else? If no, let's merge that. |
laeubi
left a comment
There was a problem hiding this comment.
It looks all clean and consistent to me and adding only minimal and reusable API.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/File.java
Outdated
Show resolved
Hide resolved
....core.tests.resources/src/org/eclipse/core/tests/internal/resources/RestrictedFileTests.java
Show resolved
Hide resolved
a569970 to
86b0323
Compare
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Outdated
Show resolved
Hide resolved
86b0323 to
da7b8ab
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Outdated
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/File.java
Outdated
Show resolved
Hide resolved
d360cdc to
3a5a9a3
Compare
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/File.java
Outdated
Show resolved
Hide resolved
3a5a9a3 to
9b99e83
Compare
This change adds the following API: * org.eclipse.core.resources.IFile.isContentRestricted() * org.eclipse.core.resources.IFile.setContentRestricted(boolean) The goal of this API is to allow Eclipse-based IDEs to restrict certain platform functionality on a per-file basis, for sensitive files. The flags are not persisted, to enable restricted handling these flags must be set for each session. The restrictions will apply to following functionality: * File search * Storing file history Potentially more platform functionality will be restricted. See: eclipse-platform#2588
9b99e83 to
8fbeb32
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Show resolved
Hide resolved
resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IFile.java
Show resolved
Hide resolved
|
Thanks all (including Copilot :-)), merging. |

This change adds the following API:
org.eclipse.core.resources.IFile.isContentRestricted()org.eclipse.core.resources.IFile.setContentRestricted(boolean)The goal of this API is to allow Eclipse-based IDEs to restrict certain
platform functionality on a per-file basis, for sensitive files.
The flags are not persisted, to enable restricted handling
these flags must be set for each session.
The restrictions will apply to following functionality:
Potentially more platform functionality will be restricted.
See: #2588